#文件备份思路：
#1）创建一个新文件，并命名
#2）读取源文件的内容
#3）把读取到的内容写入到新文件中

#例1
f1 = open(r'C:\Users\sea_0\Desktop\silicon\doctest.txt','r',encoding='UTF-8')  #打开一个文件
f2 = open(r'C:\Users\sea_0\Desktop\silicon\doctest0409.txt','w',encoding='UTF-8') #写模式，创建一个文件

#读取文件并写入
f1_text = f1.read()  #读取doctest文件内容
f2.write(f1_text)    #把内容写入doctest0409文件（即完成备份）

#关闭文件
f1.close()
f2.close()
print('\n')

'''==============================================================================================================='''

#小例：
'''
用户输入当前目录下任意文件名，程序完成对该文件的备份功能
（备份文件名为xx[备份]后缀，文件格式不定。例如test[备份].txt）
'''
#需求步骤
#1.接收用户输入的文件名
#2.规划备份文件名
#3.备份文件写入数据

'''代码'''
#1.接收用户输入文件名
old_name = input('请输入您要备份的文件名：')
#2.规划备份文件名:(1)获取目标文件后缀  (2)组织备份的文件名，xx[备份]后缀
index = old_name.rfind('.')  #rfind是找到字符串str，并返回字符串最后一个字符的索引值，找不到就返回-1
new_name = old_name[:index]+'[备份]'+old_name[index:]
print(new_name)
#3.备份文件写入数据
old_f = open(old_name,'rb')  #以读模式打开旧文件
new_f = open(new_name,'wb')  #以写模式打开新文件
#4.将源数据写入备份文件
while True:
    con = old_f.read(1024)    #限制读取1024个字节
    if len(con)==0:
        break
    new_f.write(con)

#关闭文件
old_f.close()
new_f.close()
print('\n')
'''运行代码时输入：doctest.txt'''
'''================================================================================================================='''









